package com.chanta.server.persistence;

import java.util.Date;

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import com.google.appengine.api.datastore.Key;

/**
 * TODO Please comment this class..
 * 
 * @author Hakan Özdemir - Vendoo Inc.
 * @date 06.11.2013
 * 
 */
@PersistenceCapable
public class WishlistElement {

	@PrimaryKey
	@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
	private Key key;

	@Persistent
	private Wishlist wishlist;

	@Persistent
	private Item item;

	@Persistent
	private Integer ranking;

	@Persistent
	private Date addedOn;

	@Persistent
	private String comment;

	/**
	 * Getter for key.
	 * 
	 * @return key
	 */
	public Key getKey() {
		return key;
	}

	/**
	 * Setter for key.
	 * 
	 * @param key
	 *            the key to set
	 */
	public void setKey(Key key) {
		this.key = key;
	}

	/**
	 * Getter for wishlist.
	 * 
	 * @return wishlist
	 */
	public Wishlist getWishlist() {
		return wishlist;
	}

	/**
	 * Setter for wishlist.
	 * 
	 * @param wishlist
	 *            the wishlist to set
	 */
	public void setWishlist(Wishlist wishlist) {
		this.wishlist = wishlist;
	}

	/**
	 * Getter for item.
	 * 
	 * @return item
	 */
	public Item getItem() {
		return item;
	}

	/**
	 * Setter for item.
	 * 
	 * @param item
	 *            the item to set
	 */
	public void setItem(Item item) {
		this.item = item;
	}

	/**
	 * Getter for ranking.
	 * 
	 * @return ranking
	 */
	public Integer getRanking() {
		return ranking;
	}

	/**
	 * Setter for ranking.
	 * 
	 * @param ranking
	 *            the ranking to set
	 */
	public void setRanking(Integer ranking) {
		this.ranking = ranking;
	}

	/**
	 * Getter for addedOn.
	 * 
	 * @return addedOn
	 */
	public Date getAddedOn() {
		return addedOn;
	}

	/**
	 * Setter for addedOn.
	 * 
	 * @param addedOn
	 *            the addedOn to set
	 */
	public void setAddedOn(Date addedOn) {
		this.addedOn = addedOn;
	}

	/**
	 * Getter for comment.
	 * 
	 * @return comment
	 */
	public String getComment() {
		return comment;
	}

	/**
	 * Setter for comment.
	 * 
	 * @param comment
	 *            the comment to set
	 */
	public void setComment(String comment) {
		this.comment = comment;
	}
}
